import os
from loguru import logger
from tools.handle_path import outputs_logs_dir
from conf.conf import LOGGING_CONF

"""
本模块(handle_loguru.py)主要用作设置日志格式；是否在控制台输出；
在其他模块导入 (from handle_loguru import logger) 即可使用；
"""

if LOGGING_CONF.get('is_show_console') is False:

    # a、日志仅输出到本地文件
    logger.remove(handler_id=None)  # 清除loguru的默认设置,然后设置自定义内容。

    # os.path.sep 根据不同的操作系统(windows、linux) 拼接不同的分隔符号(\或/)
    # 自定义日志内容。
    # sink表示生成日志的路径和格式；
    # level为日志级别；
    # rotation表示每个日志文件的大小；
    # compression表示压缩日志的格式；
    # encoding表示用什么编码；
    logger.add(sink=outputs_logs_dir + os.path.sep + LOGGING_CONF.get('logging_prefix_name') + '_{time}.log',
               level=LOGGING_CONF.get('level'),
               rotation=LOGGING_CONF.get('rotation'),
               compression=LOGGING_CONF.get('compression'),
               encoding=LOGGING_CONF.get('encoding'))
else:
    # b、日志同时输出在本地文件和控制台
    logger.add(sink=outputs_logs_dir + os.path.sep + LOGGING_CONF.get('logging_prefix_name') + '_{time}.log',
               level=LOGGING_CONF.get('level'),
               rotation=LOGGING_CONF.get('rotation'),
               compression=LOGGING_CONF.get('compression'),
               encoding=LOGGING_CONF.get('encoding'))


